#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:taotieren


"""
    rpi.gpio 需要 root 权限，板上运行需要使用
    sudo python sense_hat_magnet.py
    使用内置的 3 轴磁力仪对应的 Python 库来检测磁场
    当磁铁靠近 Sence HAT 时，LED 会全部变成红色，持续时间 0.2s
    磁力仪对其附近的所有磁场都非常敏感，一般很难找到准确的方位
    需要安装 sense-hat包 （pip install sense-hat）
    使用 Sense HAT 的惯性管理单元（IMU），包含了 三轴加速度计，三轴陀螺仪，磁力仪。
    将这 3 个不同闯敢欺的读数组合起来，可以获得更精确的方位信息，通常用 俯仰角、滚转角和偏航角来表示，
    详情介绍参考：https://blog.csdn.net/guyubit/article/details/52995676
    Sense HAT 还提供了 加速度计 陀螺仪 磁力仪 8*8 全彩 LED 矩形显示设备
    函数 set_imu_config 规定在磁力仪、陀螺仪和加速度计的顺序，使用那些仪器来测量方位。
    如果 3 种仪器都设为 True，则意味着他们都参与测量。
    一个加速度计可以测量静止物体的受力，因此可以通过测量重力（Z 轴）在 X 轴和 Y 轴上面的分力的大小来计算倾斜程度。
    陀螺仪的工作原理有所不同，他是通过科里奥利效应来测量绕 运动方向转动的同时来回摇摆的运动物体的受力情况。

"""

from sense_hat import SenseHat
import time

hat = SenseHat()
fill = (255, 0, 0)

while True:
    reading = int(hat.get_compass_raw()['z'])
    if reading > 200:
        hat.clear(fill)
        time.sleep(0.2)
    else:
        hat.clear()
